package com.brsya.movie.contract;

import com.brsya.base.base.BaseView;
import com.brsya.base.bean.BaseListBean;
import com.brsya.base.bean.MovieBean;

import java.util.List;
import java.util.Map;

import io.reactivex.rxjava3.core.Observable;

/**
 * Created by Brsya
 * CreateDate: 2022/7/7  14:40
 * Description:
 * 搜索
 */
public interface SearchContract {
    interface Model {
        /**
         * 搜索影视资源
         */
        Observable<BaseListBean<MovieBean>> searchMovie(Map<String, Object> par);
    }

    interface View extends BaseView {

        /**
         * 显示搜索结果
         *
         * @param movieList 搜索结果
         */
        void showSearchResult(List<MovieBean> movieList);

        /**
         * 列表没有更多数据
         */
        void showNoMore();
    }

    interface Presenter {
        /**
         * 按标签获取影视列表
         *
         * @param pageNumber 页数
         * @param name       名称搜索
         */
        void getMovieList(int pageNumber, String name);
    }
}
